{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Symbolic Regression on real data\n",
    "## Use the GEP-RNC algorithm with the UCI Power Plant dataset  \n",
    "In this example, we aim to test how well GEP-RNC works solving machine learning problems over real data. The dataset we will use is the UCI Power Plant dataset:\n",
    "\n",
    "https://archive.ics.uci.edu/ml/datasets/combined+cycle+power+plant\n",
    "\n",
    "This task requires us to predict the **Power Output** of a power plant given the environmental variables of:\n",
    "**Atmospheric Temperature**, **Exhaust Vacuum Speed**, **Atmospheric Pressure**, and **Relative Humidity**.\n",
    "\n",
    "This is a typical machine learning regression problem which we will try and evolve using *Gene Expression Programming with Random Numerical Constants*.\n",
    "\n",
    "https://en.wikipedia.org/wiki/Gene_expression_programming\n",
    "\n",
    "## Notes\n",
    "Places to get familiar with GEP and *geppy* are here:\n",
    "\n",
    "+ [Introduction to gene expression programming](https://geppy.readthedocs.io/en/latest/intro_GEP.html)\n",
    "+ [Overview of geppy for Gene Expression Programming (GEP)](https://geppy.readthedocs.io/en/latest/overview.html)\n",
    "\n",
    "To check the detailed documentation of each function/class in *geppy*, please refer to [library reference](https://geppy.readthedocs.io/en/latest/#library-reference).\n",
    "\n",
    "** Be advised this example is a revision of the original example at:**\n",
    "\n",
    "https://github.com/ShuhuaGao/geppy/blob/master/examples/sr/numerical_expression_inference-RNC.ipynb\n",
    "\n",
    "originally created by **Shuhua Gao**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Code:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "import geppy as gep\n",
    "from deap import creator, base, tools\n",
    "import numpy as np\n",
    "import random\n",
    "\n",
    "import operator \n",
    "import math\n",
    "import datetime\n",
    "\n",
    "# for reproduction\n",
    "s = 0\n",
    "random.seed(s)\n",
    "np.random.seed(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['UCI_PowerPlant.csv']\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "\n",
    "#doublecheck the data is there\n",
    "print(os.listdir(\"../../data/.\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "# read in the data to pandas\n",
    "PowerPlantData = pd.read_csv(\"../../data/UCI_PowerPlant.csv\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Notes on the ML training data\n",
    "\n",
    "The UCI power plant data is a common ML benchmarking dataset.\n",
    "Although [it is available on their website](https://archive.ics.uci.edu/ml/datasets/combined+cycle+power+plant) I am actually grabbing a cache of the data from github where a really good exploratory data analysis was done, found here: https://github.com/YungChunLu/UCI-Power-Plant. \n",
    "\n",
    "The file layout for the data is:\n",
    "```\n",
    "AT = Atmospheric Temperature in C\n",
    "V = Exhaust Vacuum Speed\n",
    "AP = Atmospheric Pressure\n",
    "RH = Relative Humidity\n",
    "PE = Power Output               # This is the Target variable for regression problems\n",
    "```\n",
    "\n",
    "Using the power plant morning variables, can we predict `PE`, the end of day power produced?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AT</th>\n",
       "      <th>V</th>\n",
       "      <th>AP</th>\n",
       "      <th>RH</th>\n",
       "      <th>PE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>9568.000000</td>\n",
       "      <td>9568.000000</td>\n",
       "      <td>9568.000000</td>\n",
       "      <td>9568.000000</td>\n",
       "      <td>9568.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>19.651231</td>\n",
       "      <td>54.305804</td>\n",
       "      <td>1013.259078</td>\n",
       "      <td>73.308978</td>\n",
       "      <td>454.365009</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>7.452473</td>\n",
       "      <td>12.707893</td>\n",
       "      <td>5.938784</td>\n",
       "      <td>14.600269</td>\n",
       "      <td>17.066995</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.810000</td>\n",
       "      <td>25.360000</td>\n",
       "      <td>992.890000</td>\n",
       "      <td>25.560000</td>\n",
       "      <td>420.260000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>13.510000</td>\n",
       "      <td>41.740000</td>\n",
       "      <td>1009.100000</td>\n",
       "      <td>63.327500</td>\n",
       "      <td>439.750000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>20.345000</td>\n",
       "      <td>52.080000</td>\n",
       "      <td>1012.940000</td>\n",
       "      <td>74.975000</td>\n",
       "      <td>451.550000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>25.720000</td>\n",
       "      <td>66.540000</td>\n",
       "      <td>1017.260000</td>\n",
       "      <td>84.830000</td>\n",
       "      <td>468.430000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>37.110000</td>\n",
       "      <td>81.560000</td>\n",
       "      <td>1033.300000</td>\n",
       "      <td>100.160000</td>\n",
       "      <td>495.760000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                AT            V           AP           RH           PE\n",
       "count  9568.000000  9568.000000  9568.000000  9568.000000  9568.000000\n",
       "mean     19.651231    54.305804  1013.259078    73.308978   454.365009\n",
       "std       7.452473    12.707893     5.938784    14.600269    17.066995\n",
       "min       1.810000    25.360000   992.890000    25.560000   420.260000\n",
       "25%      13.510000    41.740000  1009.100000    63.327500   439.750000\n",
       "50%      20.345000    52.080000  1012.940000    74.975000   451.550000\n",
       "75%      25.720000    66.540000  1017.260000    84.830000   468.430000\n",
       "max      37.110000    81.560000  1033.300000   100.160000   495.760000"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "PowerPlantData.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Split my data into Train and Test chunks, 20/80"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "msk = np.random.rand(len(PowerPlantData)) < 0.8\n",
    "train = PowerPlantData[msk]\n",
    "holdout = PowerPlantData[~msk]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AT</th>\n",
       "      <th>V</th>\n",
       "      <th>AP</th>\n",
       "      <th>RH</th>\n",
       "      <th>PE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>1865.000000</td>\n",
       "      <td>1865.000000</td>\n",
       "      <td>1865.000000</td>\n",
       "      <td>1865.000000</td>\n",
       "      <td>1865.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>19.616097</td>\n",
       "      <td>54.356172</td>\n",
       "      <td>1013.299260</td>\n",
       "      <td>73.505078</td>\n",
       "      <td>454.396038</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>7.465892</td>\n",
       "      <td>12.826614</td>\n",
       "      <td>5.817991</td>\n",
       "      <td>14.565070</td>\n",
       "      <td>17.116266</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>2.800000</td>\n",
       "      <td>25.360000</td>\n",
       "      <td>995.020000</td>\n",
       "      <td>31.290000</td>\n",
       "      <td>421.570000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>13.410000</td>\n",
       "      <td>41.760000</td>\n",
       "      <td>1009.290000</td>\n",
       "      <td>63.290000</td>\n",
       "      <td>439.920000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>20.510000</td>\n",
       "      <td>52.050000</td>\n",
       "      <td>1012.920000</td>\n",
       "      <td>75.140000</td>\n",
       "      <td>451.750000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>25.680000</td>\n",
       "      <td>67.070000</td>\n",
       "      <td>1017.070000</td>\n",
       "      <td>85.080000</td>\n",
       "      <td>469.100000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>35.100000</td>\n",
       "      <td>80.180000</td>\n",
       "      <td>1033.250000</td>\n",
       "      <td>100.130000</td>\n",
       "      <td>495.210000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                AT            V           AP           RH           PE\n",
       "count  1865.000000  1865.000000  1865.000000  1865.000000  1865.000000\n",
       "mean     19.616097    54.356172  1013.299260    73.505078   454.396038\n",
       "std       7.465892    12.826614     5.817991    14.565070    17.116266\n",
       "min       2.800000    25.360000   995.020000    31.290000   421.570000\n",
       "25%      13.410000    41.760000  1009.290000    63.290000   439.920000\n",
       "50%      20.510000    52.050000  1012.920000    75.140000   451.750000\n",
       "75%      25.680000    67.070000  1017.070000    85.080000   469.100000\n",
       "max      35.100000    80.180000  1033.250000   100.130000   495.210000"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# check the number of records we'll validate our MSE with\n",
    "holdout.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AT</th>\n",
       "      <th>V</th>\n",
       "      <th>AP</th>\n",
       "      <th>RH</th>\n",
       "      <th>PE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>7703.000000</td>\n",
       "      <td>7703.000000</td>\n",
       "      <td>7703.000000</td>\n",
       "      <td>7703.000000</td>\n",
       "      <td>7703.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>19.659738</td>\n",
       "      <td>54.293609</td>\n",
       "      <td>1013.249350</td>\n",
       "      <td>73.261499</td>\n",
       "      <td>454.357497</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>7.449681</td>\n",
       "      <td>12.679790</td>\n",
       "      <td>5.967993</td>\n",
       "      <td>14.609326</td>\n",
       "      <td>17.056150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.810000</td>\n",
       "      <td>25.360000</td>\n",
       "      <td>992.890000</td>\n",
       "      <td>25.560000</td>\n",
       "      <td>420.260000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>13.535000</td>\n",
       "      <td>41.685000</td>\n",
       "      <td>1009.050000</td>\n",
       "      <td>63.340000</td>\n",
       "      <td>439.720000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>20.320000</td>\n",
       "      <td>52.080000</td>\n",
       "      <td>1012.950000</td>\n",
       "      <td>74.910000</td>\n",
       "      <td>451.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>25.720000</td>\n",
       "      <td>66.500000</td>\n",
       "      <td>1017.290000</td>\n",
       "      <td>84.750000</td>\n",
       "      <td>468.275000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>37.110000</td>\n",
       "      <td>81.560000</td>\n",
       "      <td>1033.300000</td>\n",
       "      <td>100.160000</td>\n",
       "      <td>495.760000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                AT            V           AP           RH           PE\n",
       "count  7703.000000  7703.000000  7703.000000  7703.000000  7703.000000\n",
       "mean     19.659738    54.293609  1013.249350    73.261499   454.357497\n",
       "std       7.449681    12.679790     5.967993    14.609326    17.056150\n",
       "min       1.810000    25.360000   992.890000    25.560000   420.260000\n",
       "25%      13.535000    41.685000  1009.050000    63.340000   439.720000\n",
       "50%      20.320000    52.080000  1012.950000    74.910000   451.500000\n",
       "75%      25.720000    66.500000  1017.290000    84.750000   468.275000\n",
       "max      37.110000    81.560000  1033.300000   100.160000   495.760000"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# check the number of records we'll train our algorithm with\n",
    "train.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 8.34 23.64 29.74 ... 33.41 15.99 17.65]\n",
      "[40.77 58.49 56.9  ... 77.95 43.34 59.87]\n",
      "[1010.84 1011.4  1007.15 ... 1010.3  1014.2  1018.58]\n",
      "[90.01 74.2  41.91 ... 59.72 78.66 94.65]\n",
      "[480.48 445.75 438.76 ... 432.9  465.96 450.93]\n"
     ]
    }
   ],
   "source": [
    "# copy and convert our pandas dataframe into numpy variables.\n",
    "# I will leave the target at Y, as I can't see where to set that in the code, but it's in there somehow!\n",
    "\n",
    "# NOTE: I'm only feeding in the TRAIN values to the algorithms. Later I will independely check\n",
    "# the MSE myself using a holdout test dataset\n",
    "\n",
    "AT = train.AT.values\n",
    "V  = train.V.values\n",
    "AP = train.AP.values\n",
    "RH = train.RH.values\n",
    "\n",
    "Y = train.PE.values  # this is our target, now mapped to Y\n",
    "\n",
    "print(AT)\n",
    "print(V)\n",
    "print(AP)\n",
    "print(RH)\n",
    "print(Y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Creating the primitives set\n",
    "The first step in GEP (or GP as well) is to specify the primitive set, which contains the elementary building blocks to formulate the model. For this problem, we have:\n",
    "+ function set: the standard arithmetic operators addition (+), subtraction (-), multiplication (*), and division (/).\n",
    "+ terminal set: only the single input 'x' and random numerical constants (RNC).\n",
    "\n",
    "NOTE:\n",
    "\n",
    "- We define a *protected division* to avoid dividing by zero.\n",
    "- Even there may be multiple RNCs in the model, we only need to call `PrimitiveSet.add_rnc` once."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [],
   "source": [
    "def protected_div(x1, x2):\n",
    "    if abs(x2) < 1e-6:\n",
    "        return 1\n",
    "    return x1 / x2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Map our input data to the GEP variables\n",
    "Here we map the input data to the GEP algorithm:\n",
    "\n",
    "We do that by listing the field names as \"input_names\".\n",
    "\n",
    "In reviewing geppy code, in the file:  \n",
    "  geppy/geppy/core/symbol.py\n",
    "  \n",
    "we find how terminals in the gene are named correctly to match input data.\n",
    "\n",
    "Oh - notice, I only mapped in below the input data columes, and not the TARGET \"PE\" which is sitting in var Y.\n",
    "I didn't notice where to map that - so suggest you force the target variable to \"Y\" when reading in data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "pset = gep.PrimitiveSet('Main', input_names=['AT','V','AP','RH'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Define the operators\n",
    "Here we define and pass the operators we'll construct our final symbolic regression function with"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "pset.add_function(operator.add, 2)\n",
    "pset.add_function(operator.sub, 2)\n",
    "pset.add_function(operator.mul, 2)\n",
    "pset.add_function(protected_div, 2)\n",
    "pset.add_function(math.sin, 1)        # I tested adding my own functions\n",
    "pset.add_function(math.cos, 1)\n",
    "pset.add_function(math.tan, 1)\n",
    "pset.add_rnc_terminal()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Create the individual and population\n",
    "Our objective is to **minimize** the MSE (mean squared error) for data fitting.\n",
    "## Define the indiviudal class, a subclass of *gep.Chromosome*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "e:\\github\\deap\\build\\lib.win-amd64-3.6\\deap\\creator.py:141: RuntimeWarning: A class named 'FitnessMin' has already been created and it will be overwritten. Consider deleting previous creation of that class or rename it.\n",
      "  RuntimeWarning)\n",
      "e:\\github\\deap\\build\\lib.win-amd64-3.6\\deap\\creator.py:141: RuntimeWarning: A class named 'Individual' has already been created and it will be overwritten. Consider deleting previous creation of that class or rename it.\n",
      "  RuntimeWarning)\n"
     ]
    }
   ],
   "source": [
    "from deap import creator, base, tools\n",
    "\n",
    "creator.create(\"FitnessMin\", base.Fitness, weights=(-1,))  # to minimize the objective (fitness)\n",
    "creator.create(\"Individual\", gep.Chromosome, fitness=creator.FitnessMin)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Register the individual and population creation operations\n",
    "In DEAP, it is recommended to register the operations used in evolution into a *toolbox* to make full use of DEAP functionality. The configuration of individuals in this problem is:\n",
    "+ head length: 6\n",
    "+ number of genes in each chromosome: 2\n",
    "+ RNC array length: 8\n",
    "\n",
    "Generally, more complicated problems require a larger head length and longer chromosomes formed with more genes. **The most important is that we should use the `GeneDc` class for genes to make use of the GEP-RNC algorithm.**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Your Core Settings Defined Here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "h = 7          # head length\n",
    "n_genes = 2    # number of genes in a chromosome\n",
    "r = 10         # length of the RNC array\n",
    "enable_ls = True # whether to apply the linear scaling technique"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**NOTE** Above you define the gene structure which sets out the maximum complexity of the symbolic regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [],
   "source": [
    "toolbox = gep.Toolbox()\n",
    "toolbox.register('rnc_gen', random.randint, a=-10, b=10)   # each RNC is random integer within [-5, 5]\n",
    "toolbox.register('gene_gen', gep.GeneDc, pset=pset, head_length=h, rnc_gen=toolbox.rnc_gen, rnc_array_length=r)\n",
    "toolbox.register('individual', creator.Individual, gene_gen=toolbox.gene_gen, n_genes=n_genes, linker=operator.add)\n",
    "toolbox.register(\"population\", tools.initRepeat, list, toolbox.individual)\n",
    "\n",
    "# compile utility: which translates an individual into an executable function (Lambda)\n",
    "toolbox.register('compile', gep.compile_, pset=pset)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Define the fitness evaluation function\n",
    "In DEAP, the single objective optimization problem is just a special case of more general multiobjective ones. Since *geppy* is built on top of DEAP, it conforms to this convention. **Even if the fitness only contains one measure, keep in mind that DEAP stores it as an iterable.** \n",
    "\n",
    "Knowing that, you can understand why the evaluation function must return a tuple value (even if it is a 1-tuple). That's also why we set ``weights=(-1,)`` when creating the ``FitnessMax`` class."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "# as a test I'm going to try and accelerate the fitness function\n",
    "from numba import jit\n",
    "\n",
    "@jit\n",
    "def evaluate(individual):\n",
    "    \"\"\"Evalute the fitness of an individual: MAE (mean absolute error)\"\"\"\n",
    "    func = toolbox.compile(individual)\n",
    "    \n",
    "    # below call the individual as a function over the inputs\n",
    "    \n",
    "    # Yp = np.array(list(map(func, X)))\n",
    "    Yp = np.array(list(map(func, AT, V, AP, RH))) \n",
    "    \n",
    "    # return the MSE as we are evaluating on it anyway - then the stats are more fun to watch...\n",
    "    return np.mean((Y - Yp) ** 2),\n",
    "\n",
    "            "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### [optional] Enable the linear scaling technique. It is hard for GP to determine real constants, which are important in regression problems. Thus, we can (implicitly) ask GP to evolve the shape (form) of the model and we help GP to determine constans by applying the simple least squares method (LSM)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "from numba import jit\n",
    "\n",
    "@jit\n",
    "def evaluate_ls(individual):\n",
    "    \"\"\"\n",
    "    First apply linear scaling (ls) to the individual \n",
    "    and then evaluate its fitness: MSE (mean squared error)\n",
    "    \"\"\"\n",
    "    func = toolbox.compile(individual)\n",
    "    Yp = np.array(list(map(func, AT, V, AP, RH)))\n",
    "    \n",
    "    # special cases which cannot be handled by np.linalg.lstsq: (1) individual has only a terminal \n",
    "    #  (2) individual returns the same value for all test cases, like 'x - x + 10'. np.linalg.lstsq will fail in such cases.\n",
    "    # That is, the predicated value for all the examples remains identical, which may happen in the evolution.\n",
    "    if isinstance(Yp, np.ndarray):\n",
    "        Q = np.hstack((np.reshape(Yp, (-1, 1)), np.ones((len(Yp), 1))))\n",
    "        (individual.a, individual.b), residuals, _, _ = np.linalg.lstsq(Q, Y)   \n",
    "        # residuals is the sum of squared errors\n",
    "        if residuals.size > 0:\n",
    "            return residuals[0] / len(Y),   # MSE\n",
    "    \n",
    "    # regarding the above special cases, the optimal linear scaling w.r.t LSM is just the mean of true target values\n",
    "    individual.a = 0\n",
    "    individual.b = np.mean(Y)\n",
    "    return np.mean((Y - individual.b) ** 2),"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "if enable_ls:\n",
    "    toolbox.register('evaluate', evaluate_ls)\n",
    "else:\n",
    "    toolbox.register('evaluate', evaluate)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Register genetic operators\n",
    "Compared with GP and other genetic algorithms, GEP has its own set of genetic operators aside from common mutation and crossover. For details, please check the tutorial [Introduction to gene expression programming](https://geppy.readthedocs.io/en/latest/intro_GEP.html).\n",
    "\n",
    "In the following code, the selection operator is ``tools.selTournament`` provided by DEAP, while all other operators are specially designed for GEP in *geppy*."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "toolbox.register('select', tools.selTournament, tournsize=3)\n",
    "# 1. general operators\n",
    "toolbox.register('mut_uniform', gep.mutate_uniform, pset=pset, ind_pb=0.05, pb=1)\n",
    "toolbox.register('mut_invert', gep.invert, pb=0.1)\n",
    "toolbox.register('mut_is_transpose', gep.is_transpose, pb=0.1)\n",
    "toolbox.register('mut_ris_transpose', gep.ris_transpose, pb=0.1)\n",
    "toolbox.register('mut_gene_transpose', gep.gene_transpose, pb=0.1)\n",
    "toolbox.register('cx_1p', gep.crossover_one_point, pb=0.3)\n",
    "toolbox.register('cx_2p', gep.crossover_two_point, pb=0.2)\n",
    "toolbox.register('cx_gene', gep.crossover_gene, pb=0.1)\n",
    "# 2. Dc-specific operators\n",
    "toolbox.register('mut_dc', gep.mutate_uniform_dc, ind_pb=0.05, pb=1)\n",
    "toolbox.register('mut_invert_dc', gep.invert_dc, pb=0.1)\n",
    "toolbox.register('mut_transpose_dc', gep.transpose_dc, pb=0.1)\n",
    "# for some uniform mutations, we can also assign the ind_pb a string to indicate our expected number of point mutations in an individual\n",
    "toolbox.register('mut_rnc_array_dc', gep.mutate_rnc_array_dc, rnc_gen=toolbox.rnc_gen, ind_pb='0.5p')\n",
    "toolbox.pbs['mut_rnc_array_dc'] = 1  # we can also give the probability via the pbs property"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Statistics to be inspected\n",
    "We often need to monitor of progress of an evolutionary program. DEAP offers two classes to handle the boring work of recording statistics. Details are presented in [Computing statistics](http://deap.readthedocs.io/en/master/tutorials/basic/part3.html). In the following, we are intereted in the average/standard deviation/min/max of all the individuals' fitness in each generation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "stats = tools.Statistics(key=lambda ind: ind.fitness.values[0])\n",
    "stats.register(\"avg\", np.mean)\n",
    "stats.register(\"std\", np.std)\n",
    "stats.register(\"min\", np.min)\n",
    "stats.register(\"max\", np.max)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Launch evolution\n",
    "We make use of *geppy*'s builtin algorithm ``gep_rnc`` here to perform the GEP-RNC evolution. A special class from DEAP, `HallOfFame`, is adopted to store the best individuals ever found. Besides, it should be noted that in GEP [*elitism*](https://en.wikipedia.org/wiki/Genetic_algorithm#Elitism) is highly recommended because some genetic operators in GEP are destructive and may destroy the best individual we have evolved."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "# size of population and number of generations\n",
    "n_pop = 120\n",
    "n_gen = 50\n",
    "\n",
    "#100 3000\n",
    "\n",
    "champs = 3\n",
    "\n",
    "pop = toolbox.population(n=n_pop) # \n",
    "hof = tools.HallOfFame(champs)   # only record the best three individuals ever found in all generations\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-01-13 18:04:48.201568\n"
     ]
    }
   ],
   "source": [
    "startDT = datetime.datetime.now()\n",
    "print (str(startDT))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "gen\tnevals\tavg   \tstd    \tmin   \tmax    \n",
      "0  \t120   \t202.79\t90.0092\t29.911\t290.874\n",
      "1  \t119   \t137.12\t86.8186\t29.911\t290.874\n",
      "2  \t119   \t104.074\t82.6304\t24.4579\t290.869\n",
      "3  \t119   \t90.7691\t80.877 \t24.4579\t290.874\n",
      "4  \t119   \t92.2778\t89.2681\t24.4579\t290.864\n",
      "5  \t119   \t78.739 \t85.2832\t24.4579\t290.871\n",
      "6  \t119   \t75.2133\t88.3999\t23.5502\t290.874\n",
      "7  \t119   \t67.9808\t80.9986\t23.5502\t290.874\n",
      "8  \t119   \t65.8384\t81.9374\t23.5502\t290.874\n",
      "9  \t119   \t59.555 \t68.9703\t23.5502\t290.874\n",
      "10 \t119   \t62.0769\t73.8073\t23.5502\t290.85 \n",
      "11 \t119   \t68.1913\t79.1844\t23.5502\t290.871\n",
      "12 \t119   \t68.3879\t76.7519\t23.5502\t290.874\n",
      "13 \t119   \t69.1178\t79.0989\t22.6364\t290.874\n",
      "14 \t119   \t65.9224\t78.9599\t22.6364\t290.874\n",
      "15 \t119   \t73.561 \t80.6311\t22.6364\t289.995\n",
      "16 \t119   \t82.2486\t88.5066\t22.6364\t290.872\n",
      "17 \t119   \t77.4036\t81.5905\t21.8036\t290.873\n",
      "18 \t119   \t74.2037\t81.9474\t21.8036\t290.747\n",
      "19 \t119   \t83.9798\t94.368 \t21.4358\t290.874\n",
      "20 \t119   \t84.0245\t83.8785\t21.4358\t290.874\n",
      "21 \t119   \t73.5006\t77.5681\t21.4358\t290.866\n",
      "22 \t119   \t85.5549\t90.7455\t21.4358\t290.854\n",
      "23 \t119   \t89.3147\t91.9198\t21.4358\t290.871\n",
      "24 \t119   \t96.047 \t99.5372\t21.4358\t290.873\n",
      "25 \t119   \t72.3908\t79.779 \t21.4358\t290.874\n",
      "26 \t119   \t83.4718\t95.435 \t21.4358\t290.874\n",
      "27 \t119   \t61.0833\t72.995 \t21.4358\t290.839\n",
      "28 \t119   \t76.3145\t88.9706\t21.4358\t290.874\n",
      "29 \t119   \t72.6898\t85.0082\t21.4358\t290.872\n",
      "30 \t119   \t72.6779\t86.288 \t21.4358\t290.873\n",
      "31 \t119   \t72.7487\t85.3693\t21.4358\t290.858\n",
      "32 \t119   \t83.5854\t93.1867\t21.4358\t290.872\n",
      "33 \t119   \t69.7236\t81.1232\t21.4358\t290.874\n",
      "34 \t119   \t83.5888\t94.0737\t21.3086\t290.874\n",
      "35 \t119   \t81.6123\t93.5099\t21.3086\t290.874\n",
      "36 \t119   \t77.024 \t89.5219\t21.3086\t290.868\n",
      "37 \t119   \t98.1975\t100.438\t21.3086\t290.873\n",
      "38 \t119   \t76.3145\t87.995 \t21.3086\t290.874\n",
      "39 \t119   \t75.0002\t82.8363\t21.3086\t290.874\n",
      "40 \t119   \t63.6079\t74.9093\t21.3086\t290.871\n",
      "41 \t119   \t73.5114\t82.965 \t21.3086\t290.871\n",
      "42 \t119   \t84.4044\t90.9506\t21.3086\t290.874\n",
      "43 \t119   \t86.9965\t97.9925\t21.3086\t290.874\n",
      "44 \t119   \t73.3945\t87.8385\t21.3086\t290.863\n",
      "45 \t119   \t84.3023\t91.7157\t21.3086\t290.845\n",
      "46 \t119   \t52.0576\t59.5602\t21.3086\t288.436\n",
      "47 \t119   \t73.8061\t88.068 \t21.3086\t290.837\n",
      "48 \t119   \t79.0421\t96.3236\t21.3086\t290.869\n",
      "49 \t119   \t79.1006\t90.5122\t21.3086\t290.865\n",
      "50 \t119   \t80.7389\t93.4689\t21.3086\t290.865\n"
     ]
    }
   ],
   "source": [
    "# start evolution\n",
    "pop, log = gep.gep_simple(pop, toolbox, n_generations=n_gen, n_elites=1,\n",
    "                          stats=stats, hall_of_fame=hof, verbose=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Evolution times were:\n",
      "\n",
      "Started:\t 2019-01-13 18:04:48.201568 \n",
      "Ended:   \t 2019-01-13 18:07:28.494063\n"
     ]
    }
   ],
   "source": [
    "print (\"Evolution times were:\\n\\nStarted:\\t\", startDT, \"\\nEnded:   \\t\", str(datetime.datetime.now()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Let's check the best individuals ever evolved.**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "add(\n",
      "\tadd(add(RH, V), AT),\n",
      "\tmul(AT, 10)\n",
      ")\n"
     ]
    }
   ],
   "source": [
    "print(hof[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Present our Work and Conclusions\n",
    "\n",
    "## Symbolic simplification of the final solution\n",
    "The symbolic tree answer may contain many redundancies, for example, `protected_div(x, x)` is just 1. We can perform symbolic simplification of the final result by `geppy.simplify` which depends on `sympy` package. We can also leverage sympy to better present our work to others"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      " \n",
      "Given training examples of\n",
      "\n",
      "    AT = Atmospheric Temperature (C)\n",
      "    V = Exhaust Vacuum Speed\n",
      "    AP = Atmospheric Pressure\n",
      "    RH = Relative Humidity\n",
      "\n",
      "we trained a computer using Genetic Algorithms to predict the \n",
      "\n",
      "    PE = Power Output\n",
      "\n",
      "Our symbolic regression process found the following equation offers our best prediction:\n",
      "\n",
      " \t -2.09595322092593*AT - 0.190541201902357*RH - 0.190541201902357*V + 519.867891432331 \n",
      "\n",
      "which formally is presented as:\n",
      "\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$$- 2.09595322092593 AT - 0.190541201902357 RH - 0.190541201902357 V + 519.867891432331$$"
      ],
      "text/plain": [
       "-2.09595322092593⋅AT - 0.190541201902357⋅RH - 0.190541201902357⋅V + 519.867891\n",
       "432331"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# print the best symbolic regression we found:\n",
    "best_ind = hof[0]\n",
    "symplified_best = gep.simplify(best_ind)\n",
    "\n",
    "if enable_ls:\n",
    "    symplified_best = best_ind.a * symplified_best + best_ind.b\n",
    "\n",
    "key= '''\n",
    "Given training examples of\n",
    "\n",
    "    AT = Atmospheric Temperature (C)\n",
    "    V = Exhaust Vacuum Speed\n",
    "    AP = Atmospheric Pressure\n",
    "    RH = Relative Humidity\n",
    "\n",
    "we trained a computer using Genetic Algorithms to predict the \n",
    "\n",
    "    PE = Power Output\n",
    "\n",
    "Our symbolic regression process found the following equation offers our best prediction:\n",
    "\n",
    "'''\n",
    "\n",
    "print('\\n', key,'\\t', str(symplified_best), '\\n\\nwhich formally is presented as:\\n\\n')\n",
    "\n",
    "from sympy import *\n",
    "init_printing()\n",
    "symplified_best\n",
    "\n",
    "# use   str(symplified_best)   to get the string of the symplified model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "# output the top 3 champs\n",
    "#champs = 3\n",
    "#for i in range(champs):\n",
    "#    ind = hof[i]\n",
    "#    symplified_model = gep.simplify(ind)\n",
    "#\n",
    "#    print('\\nSymplified best individual {}: '.format(i))\n",
    "#    print(symplified_model)\n",
    "#    print(\"raw indivudal:\")\n",
    "#    print(hof[i])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [],
   "source": [
    " # we want to use symbol labels instead of words in the tree graph\n",
    "rename_labels = {'add': '+', 'sub': '-', 'mul': '*', 'protected_div': '/'}  \n",
    "gep.export_expression_tree(best_ind, rename_labels, 'data/numerical_expression_tree.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we can see from the above simplified expression, the *truth model* has been successfully found. Due to the existence of Gaussian noise, the minimum mean absolute error （MAE) is still not zero even the best individual represents the true model."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualization\n",
    "If you are interested in the expression tree corresponding to the individual, i.e., the genotype/phenotype system, *geppy* supports tree visualization by the `graph` and the `export_expression_tree` functions:\n",
    "\n",
    "- `graph` only outputs the nodes and links information to describe the tree topology, with which you can render the tree with tools you like;\n",
    "- `export_expression_tree` implements tree visualization with data generated by `graph` internally using the `graphviz` package. \n",
    "\n",
    "**Note**: even if the linear scaling is applied, here only the raw individual in GP (i.e., the one without linear scaling) is visualized."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    " # show the above image here for convenience\n",
    "from IPython.display import Image\n",
    "Image(filename='data/numerical_expression_tree.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# DoubleCheck our final Test Statistics\n",
    "Earlier, we split our data into train and test chunks.\n",
    "\n",
    "The GEPPY program never saw 20% of our data, so lets doublecheck the reported errors on our holdout test file are accurate:\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [],
   "source": [
    "def CalculateBestModelOutput(AT, V, AP, RH, model):\n",
    "    # pass in a string view of the \"model\" as str(symplified_best)\n",
    "    # this string view of the equation may reference any of the other inputs, AT, V, AP, RH we registered\n",
    "    # we then use eval of this string to calculate the answer for these inputs\n",
    "    return eval(model) \n",
    "\n",
    "# some previous example outputs\n",
    "# (AT*(AP - 2*AT - V - 23) + 4*V)/(2*AT)       # MSE 23.5 is my best run.\n",
    "# AP/2 - AT - V/2 - 8.0 + RH/(2*AT)            # MSE 26 # also a very good run.\n",
    "\n",
    "# other results with worse performance on short/small runs were\n",
    "# (AP*(3*AT + 1) + AT*V*(AP + AT + 2*RH)/3)/(AT*V)\n",
    "# AP/2 - AT - V/2 - 6\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AT</th>\n",
       "      <th>V</th>\n",
       "      <th>AP</th>\n",
       "      <th>RH</th>\n",
       "      <th>PE</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>1865.000000</td>\n",
       "      <td>1865.000000</td>\n",
       "      <td>1865.000000</td>\n",
       "      <td>1865.000000</td>\n",
       "      <td>1865.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>19.616097</td>\n",
       "      <td>54.356172</td>\n",
       "      <td>1013.299260</td>\n",
       "      <td>73.505078</td>\n",
       "      <td>454.396038</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>7.465892</td>\n",
       "      <td>12.826614</td>\n",
       "      <td>5.817991</td>\n",
       "      <td>14.565070</td>\n",
       "      <td>17.116266</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>2.800000</td>\n",
       "      <td>25.360000</td>\n",
       "      <td>995.020000</td>\n",
       "      <td>31.290000</td>\n",
       "      <td>421.570000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>13.410000</td>\n",
       "      <td>41.760000</td>\n",
       "      <td>1009.290000</td>\n",
       "      <td>63.290000</td>\n",
       "      <td>439.920000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>20.510000</td>\n",
       "      <td>52.050000</td>\n",
       "      <td>1012.920000</td>\n",
       "      <td>75.140000</td>\n",
       "      <td>451.750000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>25.680000</td>\n",
       "      <td>67.070000</td>\n",
       "      <td>1017.070000</td>\n",
       "      <td>85.080000</td>\n",
       "      <td>469.100000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>35.100000</td>\n",
       "      <td>80.180000</td>\n",
       "      <td>1033.250000</td>\n",
       "      <td>100.130000</td>\n",
       "      <td>495.210000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                AT            V           AP           RH           PE\n",
       "count  1865.000000  1865.000000  1865.000000  1865.000000  1865.000000\n",
       "mean     19.616097    54.356172  1013.299260    73.505078   454.396038\n",
       "std       7.465892    12.826614     5.817991    14.565070    17.116266\n",
       "min       2.800000    25.360000   995.020000    31.290000   421.570000\n",
       "25%      13.410000    41.760000  1009.290000    63.290000   439.920000\n",
       "50%      20.510000    52.050000  1012.920000    75.140000   451.750000\n",
       "75%      25.680000    67.070000  1017.070000    85.080000   469.100000\n",
       "max      35.100000    80.180000  1033.250000   100.130000   495.210000"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "holdout.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [],
   "source": [
    "predPE = CalculateBestModelOutput(holdout.AT, holdout.V, holdout.AP, holdout.RH, str(symplified_best))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    1865.000000\n",
       "mean      454.390635\n",
       "std        16.499026\n",
       "min       422.165985\n",
       "25%       440.395062\n",
       "50%       451.922804\n",
       "75%       468.717106\n",
       "max       490.757007\n",
       "dtype: float64"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "predPE.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7     466.642112\n",
       "8     434.107202\n",
       "13    480.357268\n",
       "17    470.887370\n",
       "19    455.447816\n",
       "dtype: float64"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "predPE.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Validation MSE:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean squared error: 19.58\n",
      "R2 score : 0.93\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import mean_squared_error, r2_score\n",
    "print(\"Mean squared error: %.2f\" % mean_squared_error(holdout.PE, predPE))\n",
    "print(\"R2 score : %.2f\" % r2_score(holdout.PE, predPE))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Let's eyeball predicted vs actual data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import pyplot\n",
    "pyplot.rcParams['figure.figsize'] = [20, 5]\n",
    "plotlen=200\n",
    "pyplot.plot(predPE.head(plotlen))       # predictions are in blue\n",
    "pyplot.plot(holdout.PE.head(plotlen-2)) # actual values are in orange\n",
    "pyplot.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Histogram of prediction Errors on the holdout dataset:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pyplot.rcParams['figure.figsize'] = [10, 5]\n",
    "hfig = pyplot.figure()\n",
    "ax = hfig.add_subplot(111)\n",
    "\n",
    "numBins = 100\n",
    "#ax.hist(holdout.PE.head(plotlen)-predPE.head(plotlen),numBins,color='green',alpha=0.8)\n",
    "ax.hist(holdout.PE-predPE,numBins,color='green',alpha=0.8)\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Is it worth implementing the answer?\n",
    "Deploying ML solutions to production can often be expensive. Doing nothing is invariably the alternative to a spending money delivering ML produced models into production. It implies a \"business case\" question we should answer when we conclude the study:\n",
    "If the business people selling the power plant outputs resorted to a common impulse to use the \"average output\" of the plant over the time period to be the \"estimate\" of plant output - what would this very low cost alternative look like? How would using Machine Learning improve the business over and above what they would see as the cheapest strategy?\n",
    "#### how bad is the simple estimate, versus our found solution?\n",
    "Let's examine the histogram of errors of the alternative \"do nothing\" approach to estimation.\n",
    "\n",
    "### Simple averages are not great\n",
    "The simple average approach gives us a plus/minus 40 on the value, which is not bell curve shaped, meaning the business will feel the estimates are generally poor most of the time.\n",
    "In contrast, our symbolic regression gives us a nice bell curve shaped estimate, that is plus/minus 14 on a particularly bad day, and otherwise plus/minus 8 ... so a far far better estimate.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "hfig2 = pyplot.figure()\n",
    "ax = hfig2.add_subplot(111)\n",
    "\n",
    "numBins = 100\n",
    "ax.hist(holdout.PE-holdout.PE.mean(),numBins,color='green',alpha=0.8)\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Business Value\n",
    "Let's compare the cheapest solution (using average value) against our solution, having roughtly similar cost"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "hfig3 = pyplot.figure()\n",
    "ax = hfig3.add_subplot(111)\n",
    "\n",
    "numBins = 100\n",
    "ax.hist(holdout.PE-holdout.PE.mean(),numBins,color='green',alpha=0.8)\n",
    "ax.hist(holdout.PE-predPE,numBins,color='orange',alpha=0.8)\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Next Steps: Implementation\n",
    "The implementation cost of getting our symbolic regression based estimator into production is very very low as a general rule of thumb. \n",
    "\n",
    "This is because the regression equation can be quickly re-written into any target system or programming language imaginable very quickly. The complete model portability of the equations produced are a huge benefit of the method.\n",
    "\n",
    "In the power plant for example, they could simply add this equation into the spreadsheet where they are maintaining the raw data to get this benefit. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Footnotes:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "License: **MIT**\n",
    "\n",
    "Update: **Jan 6th, 2019**\n",
    "\n",
    "Author: ** Andrew Morgan**\n",
    "\n",
    "About the Author:\n",
    "\n",
    "Andrew is a big data engineer and data scientist. He currently works as a director in the ACIA (Aon Centre of Innovation and Analytics) where he is is the Head of Data Services, based in Dublin, Krakow, and London. He is also the author of **Mastering Spark for Data Science**) found here https://www.amazon.co.uk/Mastering-Spark-Science-Andrew-Morgan/dp/1785882147 and is the owner of ByteSumo, a big data science consultancy.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[add, add, AT, RH, V]\n",
      "[mul, AT, 10]\n"
     ]
    }
   ],
   "source": [
    "best_ind = hof[0]\n",
    "for gene in best_ind:\n",
    "    print(gene.kexpression)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
